package com.yc.sole.system.exception;

import com.yc.sole.framework.result.IResultMsg;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author yizuomin
 * @date 2023/3/26 20:15
 **/
@Getter
@AllArgsConstructor
public enum SysResultEnum implements IResultMsg {

    /*auth*/
    AUTH_CAPTCHA_CODE_ERROR(10001, "验证码错误"),
    AUTH_CAPTCHA_CODE_EXPIRE(10002, "验证码过期"),
    AUTH_PASSWORD_ERROR(10003, "密码错误"),
    AUTH_CONFIRM_PASSWORD_ERROR(10004, "两次输入的密码不一致"),
    AUTH_USER_IS_DISABLED(10004, "用户已被禁用，请联系管理员"),
    AUTH_LOGIN_EXPIRE(10005, "登录过期，请重新登录"),
    AUTH_USER_NOT_FOUND(10006, "用户名或密码错误"),
    AUTH_NEED_LOGIN(10007, "请登录"),
    /*用户*/
    USER_NOT_FOUND(11001, "用户不存在"),
    USER_ID_IS_NULL(11002, "用户id不能为空"),
    USER_STATUS_IS_NULL(11003, "用户状态不能为空"),
    USER_PHONE_IS_REGISTER(11004, "手机号已被注册,请更换其他手机号"),
    USER_NAME_IS_REGISTER(11005, "用户名已被注册"),
    USER_PHONE_IS_NULL(11006, "手机号不能为空"),
    USER_PASSWORD_IS_NULL(11007, "密码不能为空"),
    USER_EMAIL_IS_NULL(11008, "邮箱不能为空"),
    USER_CAPTCHA_CODE_ERROR(11009, "验证码错误"),
    USER_PASSWORD_ERROR(11010, "密码错误"),
    USER_NEW_PASSWORD_REPEAT(11011, "密码不能相同"),
    SYSTEM_USER_CANNOT_DELETE(11012, "系统用户不能删除"),
    /*角色*/
    ROLE_IS_NULL(12001, "角色不存在"),
    ROLE_ID_IS_NULL(12002, "角色ID不能为空"),
    ROLE_STATUS_IS_NULL(12003, "角色状态不能为空"),
    ROLE_NAME_IS_NULL(12004, "角色名不能为空"),
    ROLE_KEY_IS_NULL(12005, "角色key不能为空"),
    /*菜单*/
    MENU_IS_NULL(13001, "菜单不存在"),
    MENU_NAME_IS_NULL(13002, "菜单名字不能为空"),
    MENU_TYPE_IS_NULL(13003, "菜单类型不能为空"),
    MENU_STATUS_IS_NULL(13004, "菜单状态不能为空"),
    MENU_SORT_IS_NULL(13005, "菜单排序不能为空"),
    MENU_ID_IS_NULL(13006, "菜单id不能为空"),
    /*部门*/
    DEPT_ID_IS_NULL(14001, "部门id不能为空"),
    DEPT_IS_NULL(14002, "部门不存在"),
    DEPT_STATUS_IS_NULL(14003, "状态不能为空"),
    DEPT_NAME_IS_NULL(14004, "部门名称不能为空"),
    /*字典*/
    DICT_VALUE_IS_NULL(15001, "字典值不能为空"),
    DICT_STATUS_IS_NULL(15002, "字典状态不能为空"),
    DICT_NAME_IS_NULL(15003, "字典名称不能为空"),
    DICT_KEY_IS_EXIST(15004, "字典值已存在"),
    DICT_KEY_IS_NULL(15005, "字典值不能为空"),
    DICT_ID_IS_NULL(15006, "字典id不能为空"),
    DICT_IS_NULL(15007, "字典不存在"),
    /*参数配置*/
    PARAM_STATUS_IS_NULL(16001, "参数配置状态不能为空"),
    PARAM_KEY_IS_NULL(16002, "参数配置键不能为空"),
    PARAM_VALUE_IS_NULL(16003, "参数配置值不能为空"),
    PARAM_ID_IS_NULL(16004, "参数配置ID不能为空"),
    PARAM_IS_NULL(16005, "参数配置不存在"),
    PARAM_KEY_IS_EXIST(16006, "参数key已存在"),
    /*公告*/
    ANNOUNCE_NOT_FOUND(17001, "公告信息不存在"),
    /*缓存*/
    CACHE_NOT_FOUND(18001, "缓存信息不存在"),
    /*系统配置未初始化*/
    CONFIG_NOT_INIT(19001, "系统配置未初始化"),
    SEQUENCE_RULE_NOT_FOUND(20000, "未配置【{0}】的序列规则"),
    GET_SEQ_NO_FAIL(3333, "序列号生成失败");

    private final Integer code;
    private final String message;


    @Override
    public Integer getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }
}
